using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;

namespace WebSite.Core
{

    public interface IRepository<T> where T : class
    {
        //IQueryable<T> GetAll();
        //T Get(Expression<Func<T, bool>> expression);
        //IQueryable<T> GetMany(Expression<Func<T, bool>> expression);
        //IQueryable<T> GetMany(Expression<Func<T, bool>> expression,
        //                                     int pageIndex,
        //                                     int pageSize,
        //                                     params IOrderByExpression<T>[] orderByExpressions);
        //bool Add(T entity);
        //bool Add(IEnumerable<T> items);
        //bool Update(T entity);
        //bool Delete(T entity);
        //bool Delete(IEnumerable<T> entities);
        //T GetById(int id);
        //T GetById(string id);
        //T GetById(long id);
    }
}